跳至主要内容

幹訓2

資安「超」入門

這是在幹嘛? YuSheng


這是一個很輕鬆的課程​


貼心提醒 :​

課程中你應該...​


聽台上那個唬爛​


不然欣賞我的帥氣也好​


把該記得的牢牢記住​


把不該記的一秒忘光​


不然會有人敲我家門要送麥當勞​

麥當勞歡樂送


貼心提醒 :  ​

課程中你不能做什麼呢?​


如果我的聲音太好聽​

讓你想睡覺​


記得睡覺時不可以打呼​


如果覺得我講得很無趣​

想跟朋友聊天​


不可以聊的比我還大聲​


如果我講得太爛​

讓你很不爽​


拜託不要往台上丟垃圾​

貓貓


這個一直幹話的是誰?​


我是 紅**綠**燈**(洪毓昇)**​


哪裡可以找到我​

  • 雲科網管地下室
  • Idea Factory 創意工場ㄉ Crafts Workshop 工藝工坊
  • 活動中心很多人轉棒棒、球球或扇扇的地方

如果你都找不到?​

對不起我們無緣​


今天我是來幹嘛的呢?​


來騙吃騙喝的​


資安與你我的關聯​


什麼是資訊安全?​


先來講講......資訊​


我們的資訊生活
LINE / Beetalk / Wechat ...聊天軟體
Facebook / plurk ...社交網路
Gmail / google doc / Youtube...網路服務
Y拍 / 露天拍賣 / PChome ...購物網站
dropbox / google drive ...雲端儲存
學校選課系統 / 成績查詢系統 ...校園資訊服務
政府戶政系統 / 公文系統 ...政府行政系統
...... and more

那麼資訊怎樣不安全?​


Line 詐騙​

援交圖


第一次支付 Bitcoin 就上手 ​

檔案通通加密超安全的​

Wanna Cry


密碼遭竊 駭客幫你跟學妹告白​

綿羊牆


資訊安全影響到底多大?​


在我們聊天的同時​


網路攻擊其實相當頻繁​

digitalattackmap


台灣每分鐘就遭受 6次攻擊​


好了說了那麼多進入今天主題吧​

讓我們來聊聊...​


何謂駭客?​


你認為駭客是怎樣的人?​


大部分人對駭客的印象?​


電影裡的駭客​

電影裡的駭客


遊戲裡的駭客​

遊戲裡的駭客


一般人心中的駭客​

一般駭客


八點檔駭客​

影片

所以什麼是駭客?​


Hacker        /        Cracker​

「Hacker」們建設,而「Cracker」們破壞。


駭客        /        黑客​

NOTE: 「駭客」(hacker) 一詞一般有以下意義: 一個對(某領域內的)程式語言有足夠了解,可以不經長時間思考 就能創造出有用的軟體的人。 喜愛編程(Coding)並享受在其中變得更擅長於編程的人。 喜愛自由(Freedom),不易受約束,但覺得假如是為了喜愛的事物, 可以被受適當的約束。 「黑客、怪客、垮客和劊客」(cracker) 一詞一般有以下意義: 一個惡意(一般是非法地)試圖破解或破壞某個程式、系統及網路 安全的人。


白帽駭客        /        黑帽駭客​


何謂 駭客 / 白帽駭客 !?​


好人


好人卡

NOTE: 白帽駭客有能力入侵電腦系統、破壞系統。不過他利用他的技能來協助組 織加強安全。例如在資安公司進行滲透、弱掃的執行者,或負責資安的 網管人員。


  • 滲透測試工程師
  • 資安威脅分析師
  • SOC 監控工程師
  • 漏洞挖掘工程師
  • 資訊安全顧問
  • etc......   

何謂 黑客 / 黑帽駭客 ​


壞人


壞人卡

NOTE: 黑帽駭客也被叫做Cracker,他們利用自已的技能來進行非道德行為。如攻擊、竊取資料…。


  • 垃圾郵件、簡訊寄送黑產
  • 個資販售
  • DDoS 攻擊流量販售
  • 針對社群帳號、公司等攻擊委託
  • 外掛、後門製作販售

提問 : 要當好人還壞人​

先論 : 當好人好累​

後論 : 當壞人好爽​

結論 : 我要當壞人 ​


所以分析一下...​

駭客的第一堂課​


成為駭客前要學習的有...​

有的沒的


俗話說我們領進門,修行在個人

今天只會講一點點的密碼學&網路資安​


讓人好想睡覺的密碼學​


密碼學是什麼​

  • 不是研究怎麼設安全的密碼
  • 不是教你怎麼破解別人 Instagram
  • 你不會因為知道密碼學在幹嘛就變成天才駭客
  • 很多很多很多數學

常見詞彙解釋​

加密 Encrypt指將明文經過某種程序轉換成密文,該程序稱為加密
解密 Decrypt指將密文經過某種程序轉換成明文,該程序稱為解密
明文 Plaintext加密前的訊息
密文 Cipertext加密後的訊息
演算法 Algorithm解決複雜問題的程序
密碼學演算法做與密碼學相關程序(如加密、解密、簽章...)的演算法
金鑰/密鑰 Key加解密時所使用的「鑰匙」

開始之前打開一下這ㄍ網址,然後註冊​

點 Join Team​

Join Team


Team Name 是第一、第二、第三組​

Team Password 是 first、second、third​

分組名單​

第一組: 張珉萁、何育玟、蔡承佑、周永陞 第二組: 謝孟憲、張慈玲、范綱庭、陳珮玲 第三組: 伍俊義、高仲寧、林家明


然後先來玩一下ㄅ​

點我點我


古典密碼學​

  • 資料保密、傳遞
  • 密碼破譯

常見的古典加密法​

  • 豬圈加密
  • 凱薩密碼
  • 單一字元替代密碼

何謂 豬圈加密 ?​

豬圈

阿 放錯ㄌ​

NOTE: 沒有人明確知道它是什麼時候發明的 但在1700年代,共濟會常常使用這種密碼保護一些私密紀錄或用來通訊,所以又稱共濟會密碼。


他的概念像​

豬圈密碼表 豬圈密碼圖解

NOTE:是一種通過格子符號作為基礎來代替的簡單密碼,這種密碼規律性很強一般很容易破解。


何謂 凱薩密碼 ?​


Step 1. 替字母編號​

首先將字母依照順序排好,同時給它們編號​

類似下表:​

編號ABCDEF
字母012345

(為了方便,這邊我只取A~F作說明)


Step 2. 選擇偏移量​

選擇1個數字,當偏移量,無論是加or解密,都是靠這個數字!​
這邊先選擇「2」作為示範​

Step 3. 進行加密​

假設有一段文字為: ADD BAD EBB​
對應 Step 1 的表可以得到各字母的編號​
A D DB A DE B B
0 3 31 0 34 1 1
替各個編號加上 Step 2 時選擇的偏移量「2」​
遇到超過的數字就回到 0​
最後再將編號轉成對應的新字母:​
C F FD C FA D D
2 5 53 2 50 3 3

用數學式表示凱薩密碼​

瞬間好像很厲害​


先定義一下變數的意義:​

D明文 ( 加密前的文章 )
E密文 ( 加密後的文章 )
K金鑰、偏移量 ( 範圍 0 ~ 25 )

過程其實很簡單,透過 mod 就可以: | | | | ---- | ------------------------- | | 加密 | E = ( D + K ) mod 26 | | 解密 | D = ( E - K + 26 ) mod 26 |

解密為避免產生負數,所以要先 +26​
透過 mod 可以使其結果範圍限制在 0~25 之中​

NOTE: 以 Step 1 的表舉例的話,a的值是0,所以把 E=(0+2)mod26=2

然後解密就是 D = (2-2+26)mod26=0


用一張圖解釋一切​

凱薩加密


講完來一題 睡意都遠離 :D​

點我點我


何謂 單一字元替代密碼 ?​


和凱薩密碼一樣是字母一對一代換,但沒有規律​

豬圈密碼也是一種替代密碼​

換字表(密鑰):
a -> h
b -> e
c -> q
d -> k
加密:dcba -> kqeh​
解密:kqeh -> dcba​

NOTE: 攻擊:字頻分析(Frequency analysis)

最常出現的字母:e, t, a, o, i

最常出現的單字:the, to, of, and


現代密碼學​

  • 古典密碼學的所有東西
  • 資料完整性驗證(Data integrity)
  • 資料的不可否認性( Non-repudiation)
  • 雜湊函數(Hash)
  • 亂數
  • 隱寫術(Steganography)
  • ...

現代常見加密法可簡分成兩種​

  • 對稱式加密法
  • 非對稱式加密法

何謂 對稱式加密 ?​


就是加密解密用的 Key 是同一個。​

NOTE: 對稱性加密中的「對稱」指的是加密和解密使用相同的金鑰(密碼表)。他的優點是加密過程簡單明瞭,且在金鑰不外流的情況下安全性很高。但缺點是一旦金鑰外流,整個密碼系統就瓦解了。無論是過去戰爭或是現代生活,保證金鑰絕不外流是一件不切實際的事,因此對稱性加密的安全性並不是真的很可靠。


知名對稱式加密演算法:AES​


我累ㄌ讓我休息一下​

有請 YouTube 出場​

{%youtube 4AV0LEQTNTc %}


何謂 非對稱式加密 ?​


加密解密使用不同的 Key​

NOTE: 「非對稱」指的是加密和解密使用不同的金鑰,因此我們可以任意的發送只能用來加密的公開金鑰。圖中男孩像女孩發送訊息前,必須先索取一份公鑰,傳送訊息步驟稍長,但安全性提高很多。竊聽者再怎麼攔截訊號,都無法得到解密用的私鑰,因為它從來不存在於通訊之中。唯一能竊取私鑰的方法就是侵入持有者的電腦或家中(但如果他真的成功入侵,他直接竊取訊息就好,也不需要竊取金鑰了)。


知名非對稱演算法:RSA​


RSA怎麼算ㄉ
Step 1.P=2、Q=3
Step 2.N=P x Q
Step 3.r=(P-1)(Q-1)
Step 4.公鑰 E 需符合 1<E<r 且與 r 互質
Step 5.私鑰 D = ExD mod r = 1
加密C = M^E mod N
解密M = C^D mod N
相關證明可以去 google​
我相信我講ㄌ可能會死一半,包含我(#​

NOTE: 先找兩個質數 P、Q

r 其實在數學上的定義是歐拉函數念作ㄈㄞ

意思是不大於r,而且和r互質的所有的整數個數

就是說在r這麼多的數裡面,有多少個數目是比r小,而且和r互質的整數個數

接下來開始噁心了,我們要開始找公鑰和私鑰,公鑰很好找,隨便找一個就好

然後我們再找一個私鑰 D ,私鑰 D 就是, E乘上D後除以r的餘數為 1

這時候就可以來加解密了,YA

阿加解密的過程就牽涉到離散數學ㄉ費馬小定理&模數運算


RSA 的安全性​

回來看這張圖​

NOTE: 這時如果小明傳訊息給小美後,在網路上流通的東西會有 一個大數N,還有公鑰e,以及加密過後的密文C

要解密首先需要知道的是一個N,還有私鑰D,以及密文C

如果駭客在中間竊取到資訊後,雖然有N、E、C,但因為缺少私鑰D,所以無法解密

就會有人說如果我想算一下呢,我通過E算出D行不行

E->D 必須知道 r

r = (P-1)(Q-1)

所以就必須求出P和Q

N=PxQ

這就是質因數分解


對稱非對稱比較​

對稱非對稱比較


當密碼學用於資料與身份驗證​

除了加密外還有 雜湊函數(Hash)​


將任意長度的字串轉成固定長度​

用途:​

  • 驗證資料完整性(Data integrity)
    • 用不安全通道傳很大的檔案 用安全通道傳該檔案的 Hash 以節省加密解密所需的資源
  • 在不取得明文的情況下驗證資料正確性
    • 儲存使用者密碼的 Hash 在資料庫,確保管理員看不到使用者密碼的明文

Hash 的特點​

  • 不管資料量多大經過雜湊運算字串長度都是一樣的
  • 它是一個不可逆的算法所以我們可以看到箭頭是單向
  • 相同的值用雜湊運算過後值都是一樣的

知名雜湊函數:MD5、SHA-256​

NOTE:基本方式也是,求餘、取餘、調整長度、與連結變數進行迴圈運算。得出結果。


等等 那那那 Base64 呢?​


編碼 != 加密 兩個是完全不一樣的東西​

編碼 != 加密 兩個是完全不一樣的東西​

編碼 != 加密 兩個是完全不一樣的東西​

NOTE: Base64主要用途是某些系統中只能使用ASCII字符,為了避免某些機器無法識別我們傳輸資料


根據維基百科ㄉ解釋 :D​

Base64


終於結束ㄌ可怕的密碼學​


接下來接著網路資安吧 耶~~~​


阿時間好像不夠了ㄎㄎ​


那你們可以期待明天的課程呦 啾咪​

我就懶


推薦一個東東叫做 picoCTF​

image alt


希望今天的內容可以讓你們學到一些東西 :D​


最後送大家一句話<3​

xzzbmq vlro cxfirob xka jlsb lk​